Computer virtualization is a technique that involves encapsulating a representation of a physical computing machine platform into a virtual machine (VM) that is executed under the control of virtualization software running on hardware computing platforms (also referred to herein as “hosts” or “servers”). A group of hardware computing platforms may be organized as a cluster to provide the hardware resources, such as memory, central processing units (CPUs) and so on, for virtual machines.
For virtual machines running mission critical applications, the speed of the storage system needs to be significantly fast. Even if a significant amount of memory and CPU resources are provisioned to the virtual machines running the mission critical applications, there can still be a storage bottle neck.